package banco_imobiliario.model;

import banco_imobiliario.control.ControladorBancoImobiliario;

/**
 *
 * @author PRISCILA
 */
public class LogradouroPrisao extends Logradouro {

    private int qtd_Rodadas = 0; //mudança do static para não ter que instanciar o controlador
    //se ñ der certo alterar para a qtdDoJogador;
    private static int FIANCA = 50;
    private Dado dadoUm;
    private Dado dadoDois;

    public boolean sairDaPrisao(Jogador jogador) {

        if (dadoUm.getValorDaFace() == dadoDois.getValorDaFace()) {
            return true;
        }
        if (jogador.getQtdRodadasNaPrisao() == 3) {
            debitarFianca(jogador);
            return true;
            //pensar na possibilidade do jogador não ter o valor da fiança
        } else {
            jogador.setQtdRodadasNaPrisao(jogador.getQtdRodadasNaPrisao()+1);
        }
        return false;
    }

    private void debitarFianca(Jogador jogador) {
        jogador.debitar(FIANCA);
    }

    @Override
    public void atingida(Jogador jogador) {
        if(sairDaPrisao(jogador)){
            ControladorBancoImobiliario control = ControladorBancoImobiliario.getInstancia();
            control.sairDaPrisao(jogador, dadoUm, dadoDois);
        }
            
    }

    public void setValorDosDados(Dado dado1, Dado dado2) {
        this.dadoUm = dado1;
        this.dadoDois = dado2;
    }
}
